reference:
https://blog.csdn.net/u010398493/article/details/76222567
数据库关系的完整性,主要包括域完整性、实体完整性和参照完整性三种。
域(列)完整性
域完整性是对数据表中字段属性的约束
通常指 数据的有效性
,它包括字段的值域、字段的类型及字段的有效规则等约束
它是由确定关系结构时所定义的字段的属性决定的,限制数据类型,缺省值,规则,约束,是否可以为空
域完整性可以确保不会输入无效的值
实体(行)完整性
实体完整性是对关系中的 记录唯一性
,也就是主键的约束。
准确地说,实体完整性是指关系中的主属性值不能为Null且不能有相同值
定义表中的所有行能唯一的标识,一般用主键
,唯一索引 unique
关键字,及 identity
属性比如说我们的身份证号码,可以唯一标识一个人.
参照完整性
参照完整性是对关系数据库中建立关联关系的数据表间数据参照引用的约束,也就是对外键的约束
准确地说,参照完整性是指关系中的 外键必须是另一个关系的主键有效值,或者是NULL
参考完整性维护表间数据的有效性,完整性,通常通过建立外部键联系另一表的主键实现,还可以用触发器来维护参考完整性
总结
- 域->列
- 数据是否有效(合法)
- 实体->行
- 记录唯一性
- 参照完整性->外键
- 外键必须是另一个关系主键有效值,or NULL